Field of the Invention
The present disclosure relates to an image forming apparatus, a method for controlling an image forming apparatus, and a storage medium.
Description of the Related Art
In recent years, the improvement of the hardware technology has allowed development and an increasingly widespread use of a multi-core central processing unit (CPU) enabling a plurality of calculation processes to be performed in parallel with each other or one another concurrently. Multifunctional peripherals having a plurality of functions, such as copying and faxing, have also been starting to be provided with the multi-core CPU. For the multifunctional peripheral provided with the multi-core CPU, there has been being developed a technique for realizing parallel execution by controlling print processing in a multi-threading manner. The print processing includes high-load image processing that converts received print data into a raster image, and there has been being proposed a technique for realizing a speedup of the print processing by processing this image processing in the multi-threading manner.
The image processing is realized by language interpretation processing for interpreting a content of the print data, display list (DL) generation processing for converting the print data into intermediate data called a display list (hereinafter referred to as a DL), and rendering processing for converting the generated DL into the raster image. There is a technique for processing these processing procedures in the multi-threading manner. Japanese Patent Application Laid-Open No. 2013-14039 discusses a page parallel technique for performing the language interpretation processing, the DL generation processing, and the rendering processing while dividing the processing on the print data page by page and assigning a divided piece of the processing to each thread.
PostScript (registered trademark) (hereinafter referred to as PS) may be employed as a page description language (PDL) of the print data, and operators of PS include an operator (a drawing command) that invalidates a content of a page to be drawn, thereby prohibiting this page from being output, such as “erasepage”. Inclusion of such an operator invalidating the page drawing raises the necessity of performing page re-sorting processing for making pages consistent to correctly control a page or pages after that.
For example, if the “erasepage” operator is contained in the PS data of a second page, a third page and a fourth page should be processed as a result of outputting a second sheet and a result of outputting a third sheet, respectively. In the page parallel technique discussed in Japanese Patent Application Laid-Open No. 2013-14039, a job control unit, which assigns a page to be processed as a processing target to each thread, is unequipped with measures for detecting the operator that invalidates the drawing of the page. Therefore, the execution of the page re-sorting processing is impossible, which results in occurrence of a failure such as being unable to assign the result of drawing the third page to the result of outputting the second sheet, thereby printing the second sheet in blank or printing the results of outputting the second sheet and a sheet or sheets after that with layouts thereof out of position.